/*
 * SurpacStyle.h
 *
 *  Created on: 17.12.2013
 *      Author: Georg Semmler
 */
#ifndef SURPACSTYLE_H_
#define SURPACSTYLE_H_
#include <iostream>
#include <string>
#include <vector>
#include <boost/unordered_map.hpp>
#include <Parsers/Color.h>

namespace GST {
	namespace Parsers {
		class SurpacStyle {
			private:
				int id;
				boost::unordered_map<std::string, Color> colors;
				void calculateColor(std::string s);
				void addToColors(std::vector<std::string> s,Color c);
				static int calcID(const std::string& id);
				SurpacStyle(std::vector<std::string> elements,int id);
			public:
				static const int defaultId;
				SurpacStyle();
				static std::vector<SurpacStyle> init(std::vector<std::string> elements);
				int getId();
				Color getLineColor();
				Color getFaceColor();

		};

	} /* namespace Parsers */
} /* namespace GST */

#endif /* SURPACSTYLE_H_ */
